summaryrefslogtreecommitdiffstats
path: root/src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/model/view/SliderSetting.kt
diff options
context:
space:
mode:
Diffstat (limited to 'src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/model/view/SliderSetting.kt')
-rw-r--r--src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/model/view/SliderSetting.kt63
1 files changed, 13 insertions, 50 deletions
diff --git a/src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/model/view/SliderSetting.kt b/src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/model/view/SliderSetting.kt
index e71a29e35..c3b5df02c 100644
--- a/src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/model/view/SliderSetting.kt
+++ b/src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/model/view/SliderSetting.kt
@@ -4,75 +4,38 @@
package org.yuzu.yuzu_emu.features.settings.model.view
import org.yuzu.yuzu_emu.features.settings.model.AbstractByteSetting
-import kotlin.math.roundToInt
import org.yuzu.yuzu_emu.features.settings.model.AbstractFloatSetting
import org.yuzu.yuzu_emu.features.settings.model.AbstractIntSetting
import org.yuzu.yuzu_emu.features.settings.model.AbstractSetting
import org.yuzu.yuzu_emu.features.settings.model.AbstractShortSetting
-import org.yuzu.yuzu_emu.utils.Log
+import kotlin.math.roundToInt
class SliderSetting(
- setting: AbstractSetting?,
+ setting: AbstractSetting,
titleId: Int,
descriptionId: Int,
val min: Int,
val max: Int,
- val units: String,
- val key: String? = null,
- val defaultValue: Any? = null
+ val units: String
) : SettingsItem(setting, titleId, descriptionId) {
override val type = TYPE_SLIDER
- val selectedValue: Any
+ var selectedValue: Int
get() {
- val setting = setting ?: return defaultValue!!
return when (setting) {
is AbstractByteSetting -> setting.byte.toInt()
is AbstractShortSetting -> setting.short.toInt()
is AbstractIntSetting -> setting.int
is AbstractFloatSetting -> setting.float.roundToInt()
- else -> {
- Log.error("[SliderSetting] Error casting setting type.")
- -1
- }
+ else -> -1
+ }
+ }
+ set(value) {
+ when (setting) {
+ is AbstractByteSetting -> setting.setByte(value.toByte())
+ is AbstractShortSetting -> setting.setShort(value.toShort())
+ is AbstractIntSetting -> setting.setInt(value)
+ is AbstractFloatSetting -> setting.setFloat(value.toFloat())
}
}
-
- /**
- * Write a value to the backing int. If that int was previously null,
- * initializes a new one and returns it, so it can be added to the Hashmap.
- *
- * @param selection New value of the int.
- * @return the existing setting with the new value applied.
- */
- fun setSelectedValue(selection: Int): AbstractIntSetting {
- val intSetting = setting as AbstractIntSetting
- intSetting.setInt(selection)
- return intSetting
- }
-
- /**
- * Write a value to the backing float. If that float was previously null,
- * initializes a new one and returns it, so it can be added to the Hashmap.
- *
- * @param selection New value of the float.
- * @return the existing setting with the new value applied.
- */
- fun setSelectedValue(selection: Float): AbstractFloatSetting {
- val floatSetting = setting as AbstractFloatSetting
- floatSetting.setFloat(selection)
- return floatSetting
- }
-
- fun setSelectedValue(selection: Short): AbstractShortSetting {
- val shortSetting = setting as AbstractShortSetting
- shortSetting.setShort(selection)
- return shortSetting
- }
-
- fun setSelectedValue(selection: Byte): AbstractByteSetting {
- val byteSetting = setting as AbstractByteSetting
- byteSetting.setByte(selection)
- return byteSetting
- }
}